Method and System To Manipulate Multiple Selections Against a Population of Elements

ABSTRACT

Methods and systems to manipulate multiple selections against a population of elements are disclosed. One method may include: method for manipulating selections against a population of elements, the method comprising: receiving a plurality of data sets; determining one or more overlaps, each overlap comprising a common region between at least two data sets in the plurality of data sets; displaying a plurality of bars, each bar corresponding to a data set from the plurality of data sets; and for each of the one or more overlaps, displaying one or more elements in at least one of the plurality of bars, each element corresponding to a size of the common region between the at least two data sets.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. Provisional Application No. 61/663,292, filed on Jun. 22, 2012, entitled “Method and System to Manipulate Multiple Selections Against a Population of Elements;” U.S. Provisional Application No. 61/663,057, filed on Jun. 22, 2012, entitled “Systems and Methods For Predictive Analytics For Site Initiation and Patient Enrollment;” U.S. Provisional Application No. 61/663,299, filed on Jun. 22, 2012, entitled “Methods and Systems for Predictive Clinical Planning and Design and Integrated Execution Services;” U.S. Provisional Application No. 61/663,398, filed on Jun. 22, 2012, entitled “Systems and Methods for Subject Identification (ID) Modeling;” U.S. Provisional Application No. 61/663,219, filed Jun. 22, 2012, entitled “Systems and Methods for Analytics on Viable Patient Populations;” U.S. Provisional Application No. 61/663,357, filed Jun. 22, 2012; entitled “Methods and Systems for a Clinical Trial Development Platform;” U.S. Provisional Application No. 61/663,216, filed Jun. 22, 2012; entitled “Systems and Methods for Data Visualization.” The entirety of all of which is hereby incorporated by reference herein.

FIELD OF THE INVENTION

Embodiments of the disclosure relate generally to displaying complex and overlapping data in a usable fashion. More particularly, embodiments of this disclose relate to methods for displaying a modified Venn diagram.

BACKGROUND

The Venn diagram was conceived by John Venn. The goal of a properly structured Venn diagram is to clearly show relationships among a small group of data sets within a larger population. But a Venn diagram lacks the ability to clearly show relationships among a larger group of data sets. Accordingly, there is need for methods and systems to manipulate multiple selections against a population of elements.

SUMMARY

Embodiments of the disclosure provide systems and methods for manipulation of multiple selections against a population of elements. In one embodiment, the system comprises a database, a web server that facilities entry and retrieval of data between the database and the user, an application server that displays and accepts information to and from one or more users, and a client that is used to display information to users and to receive input from users.

In another embodiment, the application server and the display are configured to display a subset of data to the user in a Venn bar diagram. In another embodiment, the Venn bar diagram comprises a plurality of horizontal bars.

In another embodiment, each of the plurality of horizontal bars is associated with a specific data set. In another embodiment, each of the plurality of horizontal bars comprises a plurality of columns. In another embodiment, each of the plurality of columns is associated with the relationship between the data represented by the present horizontal bar and the data represented by one or more of the other horizontal bars.

In another embodiment, the horizontal width of the plurality of columns is associated with the amount of overlap between the data represented by the present horizontal bar and the data represented by one or more of the other horizontal bars. In another embodiment, the color of the plurality of columns is associated with the amount of overlap between the data represented by the present horizontal bar and the data represented by one or more of the other horizontal bars.

These embodiments are mentioned not to limit or define the disclosure, but to provide examples to aid understanding thereof. Embodiments are discussed in the Detailed Description, and further description is provided there. Advantages offered by the various embodiments may be further understood by examining this specification.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features, aspects, and advantages of the present disclosure are better understood when the following Detailed Description is read with reference to the accompanying drawings, wherein:

FIG. 1 is a diagram illustrating an exemplary environment for implementation according to one embodiment;

FIG. 2 a is a diagram illustrating one embodiment of a Venn diagram;

FIG. 2 b is a diagram illustrating one embodiment of a Venn diagram;

FIG. 2 c is a diagram illustrating one embodiment of a Venn diagram;

FIG. 2 d is a diagram illustrating one embodiment of a Venn diagram;

FIG. 3 a is a diagram illustrating another embodiment of a Venn diagram;

FIG. 3 b is a diagram illustrating another embodiment of a Venn diagram;

FIG. 4 is a diagram of a Venn bar according to one embodiment;

FIG. 5 is a diagram of a Venn bar according to another embodiment;

FIG. 6 is a diagram of a Venn bar according to another embodiment;

FIG. 7 is a flow chart illustrating a method for manipulation of multiple selection against a population of elements according to one embodiment;

FIG. 8 is a diagram illustrating a patients editor according to one embodiment;

FIG. 9 is a diagram illustrating a patients editor according to another embodiment; and

FIG. 10 is diagram illustrating a patient population query editor view according to one embodiment.

DETAILED DESCRIPTION

Embodiments of the invention provide systems and methods for manipulation of multiple selections against a population of elements.

Illustrative Embodiment of Systems and Methods for Manipulation of Multiple Selections Against a Population of Elements

The goal of a properly structured Venn diagram is to clearly show relationships among a small group of data sets within a larger population. But a Venn diagram lacks the capability to clearly show relationships among a larger group of data sets. Thus, there is a need for a modified Venn diagram in the form of a “Venn bar.” A Venn bar has the capability to show relationships among any number of data sets in a clean and efficient display.

For example, an illustrative embodiment of systems and methods for manipulation of multiple selections against a population of elements may comprise a client that allows a user to interface with an application server, web server, and/or database via a network. The client may comprise a display, and further be configured to display data received from the web server or database in a Venn bar.

A Venn bar is a new type of graphic element that extends upon the basic idea of a Venn diagram but which displays the overlap of data in a bar format rather than in the traditional view of overlapping circles. An example of an illustrative Venn bar is shown in and described in detail in relation to FIG. 4 below.

This illustrative example is given to introduce the reader to the general subject matter discussed herein. The invention is not limited to this example. The following sections describe various additional embodiments and examples of systems and methods for manipulation of multiple selections against a population of elements

Illustrative Systems for Manipulation of Multiple Selections Against a Population of Elements

Referring now to the drawings, in which like numerals indicate like elements throughout the several figures, FIG. 1 is a diagram illustrating an exemplary environment for implementation of one embodiment of the disclosure. The embodiment shown in FIG. 1 includes a client 100 that allows a user to interface with an application server 200, web server 300, and/or database 400 via a network 500.

The client 100 may be, for example, a personal computer (PC), such as a laptop or desktop computer, which includes a processor and a computer-readable media. The client 100 also includes user input devices, such as a keyboard and mouse or touch screen, and one or more output devices, such as a display. In some embodiments of the disclosure, the user of client 100 accesses an application or applications specific to one embodiment of the disclosure. In other embodiments, the user accesses a standard application, such as a web browser on client 100, to access applications running on a server such as application server 200, web server 300, or database 400. For example, in one embodiment, the memory of client 100 stores applications including a design studio application for planning and designing clinical trials. The client 100 may also be referred to as a terminal in some embodiments of the present disclosure.

Such applications may be resident in any suitable computer-readable medium and executable on any suitable processor. Such processors may comprise, for example, a microprocessor, an ASIC, a state machine, or other processor, and can be any of a number of computer processors, such as processors from Intel Corporation, Advanced Micro Devices Incorporated, and Motorola Corporation. The computer-readable media stores instructions that, when executed by the processor, cause the processor to perform the steps described herein.

The client 100 provides a software layer, which is the interface through which the user interacts with the system by receiving and displaying data to and from the user. In one embodiment, the software layer is implemented in the programming language C# (also referred to as C Sharp). In other embodiments, the software layer can be implemented in other languages such as Java or C++. The software layer may be graphical in nature, using visual representations of data to communicate said data to one or more users. The visual representations of data may also be used to receive additional data from one or more users. In one embodiment, the visual representation appears as a spider-like layout of nodes and connectors extending from each node to a central node. In another embodiment the visual representation comprises a modified Venn diagram, called a “Venn bar” as described in further detail below.

Embodiments of computer-readable media comprise, but are not limited to, an electronic, optical, magnetic, or other storage device, transmission device, or other device that comprises some type of storage and that is capable of providing a processor with computer-readable instructions. Other examples of suitable media comprise, but are not limited to, a floppy disk, CD-ROM, DVD, magnetic disk, memory chip, ROM, RAM, PROM, EPROM, EEPROM, an ASIC, a configured processor, all optical media, all magnetic tape or other magnetic media, or any other medium from which a computer processor can read instructions. Also, various other forms of computer-readable media may be embedded in devices that may transmit or carry instructions to a computer, including a router, private or public network, or other transmission device or channel, both wired and wireless. The instructions may comprise code from any suitable computer-programming language, including, for example, C, C++, C#, Visual Basic, Java, Python, Perl, and JavaScript.

The application server 200 also comprises a processor and a memory. The application server may execute business logic or other shared processes. The application server may be, for example, a Microsoft Windows Server operating in a .NET framework, an IBM Weblogic server, or a Java Enterprise Edition (J2E) server. While the application server 200 is shown as a single server, the application server 200, and the other servers 300, 400 shown may be combined or may include multiple servers operating together to perform various processes. In such embodiments, techniques such as clustering or high availability clustering may be used. Benefits to architectures such as these include redundancy and performance, among others.

In the embodiment shown in FIG. 1, the application server 200 is in communication with a web server 300 via a network connection 250. The web server 300 also comprises a processor and a memory. In the memory are stored applications including web server software. Examples of web server software include Microsoft Internet Information Services (IIS), Apache Web Server, and Sun Java System Web Server from Oracle, among others.

In the embodiment shown in FIG. 1, the web server 300 is in communication with a database 400 via a network connection 350 and a network connection 450. The web server 300 provides a web service layer that, together or separate from application server 200, acts as middleware between a database 400 and the software layer, represented by the client 100. The web server 300 communicates with the database 400 to send and retrieve data to and from the database 400.

The network 500 may be any of a number of public or private networks, including, for example, the Internet, a local area network (“LAN”), or a wide area network (“WAN”). The network connections 150, 250, 350, and 450 may be wired or wireless networks and may use any known protocol or standard, including TCP/IP, UDP, multicast, 802.11b, 802.11g, 802.11n, or any other known protocol or standard. Further, the network 100 may represent a single network or different networks. As would be clear to one of skill in the art, the client 100, servers 200, 300, and database 400 may be in communication with each other over the network or directly with one another.

The database 400 may be one or a plurality of databases that store electronically encoded information comprising the data required to plan, design, and execute a clinical trial. In one embodiment, the data comprises one or more design elements corresponding to the various elements related to one or more clinical trials. The database 400 may be implemented as any known database, including an SQL database or an object database. Further, the database software may be any known database software, such as Microsoft SQL Server, Oracle Database, MySQL, Sybase, or others.

Once data is received from the database, it may be displayed to the user via a display of client 100. One option for displaying the data is using a traditional Venn diagram. In a traditional Venn diagram, data is displayed via circles or bubbles, which are combined to show overlaps in the data. For example, FIG. 2 a shows one embodiment of a Venn diagram. As shown in FIG. 2 a, circles A, B, and C each represent a data set extracted from the entire population of data. As shown in FIG. 2 a, A and B each comprise inclusion data, i.e. data that is to be included. For example, in one embodiment of a medical test, a user may wish to include patients with specific characteristics, e.g. heart disease, over a certain age, taking a certain medication, or any other type of data. Furthermore, as shown in FIG. 2 a, data set C comprises exclusion data, i.e., a type of data that is to be excluded. For example, in one embodiment of a medical test, a user may wish to exclude patients with specific characteristics, e.g., broken bones, under a certain age, over a certain income threshold, etc.

In FIG. 2 b, the data shown in FIG. 2 a is shown combined to form a single Venn diagram. As shown in FIG. 2 b, there is some overlap between data sets A, B, and C. This is shown in the regions over which data bubbles A, B, and C overlap. Furthermore, as shown in FIG. 2 b, data set bubbles A, B, and C, all overlap with and are therefore are contained in a larger data set, shown as the entire population in FIG. 2 a.

As shown in FIG. 2 c, the overlaps between the data sets shown in FIG. 2B are highlighted. For example, as shown in FIG. 2 c, segments of bubbles A, B, and C, do not overlap. These segments are labeled simply as A, B, and C. Further, sections of each overlap with only one other bubble, e.g. segments A,B, B,C, and A,C. Furthermore, one segment of data shows overlap between all three, segment A, B, C. In some embodiments, this data may further be color coded, as shown in FIG. 2 d.

Furthermore, as shown in FIG. 2 c, bubbles A and B each comprise data to be included, whereas bubble C comprises exclusion data. Thus, the Venn diagram in FIG. 2 c shows result data A,B, as the result of the user's search, i.e. this is the segment that includes data from both of inclusion bubbles A and B, but excludes data from exclusion bubble C. However, given the scaling of this type of Venn diagram, a user cannot easily determine how much of segment A,B,C was excluded by C. This may be useful data. For example, in a medical testing embodiment, bubble A may represent patients with a heart condition, bubble B may represent patients over a certain age, and bubble C may exclude patients taking a statin or other drug. As part of forming a test, the user may need to easily determine the impact of the exclusion C, but given the display format of a traditional Venn diagram, the user cannot easily make this determination. Additionally, information, such as the size of the entire population is not easy to determine. Furthermore, if the user wishes to include additional data points, for example, additional bubbles associated with other drugs or medical conditions, the Venn diagram becomes even more cumbersome.

FIGS. 3 a and 3 b illustrate one embodiment of a Venn diagram. Specifically, FIG. 3 a shows the data represented in FIG. 2 c, pulled apart into fragments of a Venn diagram. FIG. 3 b, shows this data displayed differently, in a bar graph, showing the size of each fragment clearly in comparison to one another.

FIG. 4 is a diagram of a Venn bar according to one embodiment. Specifically, FIG. 4 shows the data from FIGS. 3 a and 3 b, recombined to form a Venn bar diagram. As shown in FIG. 4, the original sets A, B, and C, are displayed as horizontal rows, A, B, and C. In one embodiment, each horizontal bar represents patient data for a different population of patients. For example, in one embodiment, each bar may represent the number of instances of a specific disease or ailment (e.g. heart disease, infection, broken bones) or a different population group (e.g., age-group, ethnicity, state of birth, career choice, etc.). For example, in the embodiment shown in FIG. 4, the Venn bar may comprise four horizontal bars, for example, bars A, B, and C.

Further, in the embodiment shown in FIG. 4, the Venn bar further comprises a series of vertical columns. A vertical column represents each horizontal bar, and the overlap between the data represented by each vertical bar. For example, in the embodiment shown in FIG. 4, there are individual vertical bars representing the overlap between the data represented by various combinations of horizontal bars. For instance, vertical bars may represent: the overlap between bars A, B, and C, (the A,B,C bar), the overlap between bars A and B (the A,B bar), the overlap between bars A and C (the A,C bar), and the overlap between bars B and C (the B,C bar). In some embodiments, vertical bars may further represent data that is represented by the horizontal bars but for which there is no overlap. For example, vertical bars for each of horizontal bars A, B, and C, representing the data for which there is no overlap. In some embodiments, the width of each vertical bar is associated with the size of that data set. For example, if there are more patients in the A,C bar than the A,B,C bar, then the A,C bar will be wider than the A,B,C bar.

In the embodiment shown in FIG. 4, the vertical bars may be overlaid on the horizontal bars. For example, a horizontal bar may comprise the vertical bars representing the overlap between the other bars as well as the section of the bar with no overlap. Thus, the A horizontal bar may comprise the A,B,C bar, the A,B bar, the A,C bar, and the A bar. Furthermore, in the embodiment shown in FIG. 4, various color coding is used to represent the amount of overlap. For example, the color green may represent the A,B, bar as category overlaps. Further, blue may represent the vertical portion of each bar for which there is no overlap

Further, in some embodiments, in addition to representing overlap, one of the bars may represent an “exclusion” or data which is not present. For example, in the embodiment shown in FIG. 4, bar C is be assigned to a data set that does not include a specific characteristic. For example, in one embodiment bar C may exclude data associated with patients that are not taking a specific drug or have not had a certain disease.

FIG. 5 is a diagram of a Venn bar according to one embodiment, specifically, FIG. 5 shows the Venn bar comprising data sets A, B, and C and further the rows broken up into vertical columns representing the fragments of data shown in FIGS. 3 b and 3 c. As shown in FIG. 5, the width of each fragment is associated with that fragment's percentage of the whole data set. For example, fragment A,B,C is associated with its size in comparison to data sets A, B, and C.

FIG. 6 is a diagram of a Venn bar according to one embodiment, specifically, FIG. 6 comprises an illustration of one embodiment of a completed Venn bar. This completed Venn bar enables the user to easily see the relationships between data sets A, B, and C, and the size of each overlapping section of these data sets. Thus, in the embodiment described above, wherein A and B comprise inclusions and C comprises an exclusion, the user can easily determine relevant information, for example, the size of the data set that the exclusion C removed. For example, this can be determined simply by looking at the width of fragment A,B,C. Furthermore, the other data section is easily shown to see what percentage of the total size is not captured by these factors.

In some further embodiments, the Venn bar may assign specific colors to varying vertical columns to enable the user to quickly perceive overlaps. For example, in one embodiment, the section that comprises all the user's inclusions and not the user's exclusion may be green. In such an embodiment, the columns that show all the users inclusions, but are excluded by the exclusion may be yellow, enabling the user to determine the impact of that exclusion. Further, in such an embodiment, other colors may be used to display the remaining information. For example, blue may be assigned to each set of data that does not have any overlap with other data, red may be assigned to data from the exclusion that does not overlap with any other data, purple may represent the overlap between the exclusion and each of the other two data sets, and gray may be assigned to data that is not included in one of the selected data sets. In other embodiments, any other color may be used in order to help the Venn bar clearly display raw data and overlaps.

Furthermore, in other embodiments, the user may include additional data sets, which will be displayed as additional horizontal rows. This additional data will be displayed in the Venn bar as additional rows divided into columns showing overlap with other data sets, as described above. Thus, as opposed to a simple Venn diagram, a user may include as much additional data as necessary, and still see the relevant overlaps. Thus, in some embodiments, the Venn bar may include more than three horizontal rows.

In some embodiments, the Venn bar shown in FIG. 6 may be used to present medical data. For example, in one embodiment horizontal bar A may represent data associated with people ages 29-65, bar B may represent data associated with a type of prescription drug, and bar C may represent data associated with patients with heart disease. Thus, a user may view the Venn bar in FIG. 6, and make determinations regarding heart disease, age, and the prescription drug. In a further embodiment, the user may incorporate additional data sets, for example, lifestyle data, career choice, other prescription drugs, or any other combination of data, and thereby make determinations based on the overlaps of this data.

In other embodiments, a Venn bar may be used to display other types of data. For example, a Venn bar may be used to display data associated with homes for sale. For example, a user may generate a search of housing data and set different parameters, e.g. size of house, number of bedrooms, number of bathrooms, garage, central air conditioning, location, or other data. Each of these data points may appear as a horizontal bar in the Venn bar. Then, based on the overlap data shown in the vertical bars the user may refine home search parameters. For example, if one of the data points requires a basement, but the user is searching in an area where basements are very rare, the user will be able to see that this requirement is greatly restricting the results of the search. Thus, the user may change the requirement for a basement and develop a more efficient search. Further, other types of data may be displayed using a Venn bar, including, but not limited to, shopping data (e.g., home, cars, boats, electronics, jewelry, or other products), career and employment data, relationship information (e.g., data from a dating website or database), data from a social networking site, or any other available category of data.

Illustrative Methods for Manipulation of Multiple Selections Against a Population of Elements

FIG. 7 is a flow chart illustrating a method for manipulation of multiple selections against a population of elements according to one embodiment. In some embodiments, the stages in FIG. 7 may be implemented in program code that is executed by a processor, for example, the processor in a general purpose computer, mobile device, or server. In some embodiments, these stages may be implemented by a group of processors, for example, a processor on a mobile device and processors on one or more general purpose computers, such as servers.

The method 700 shown in FIG. 7 begins at step 702 when the client 100 receives data from an application server 200, web server 300, or database 400. In some embodiments, the data may comprise data associated with patients. In other embodiments, the data may comprise data associated with shopping (e.g., homes, cars, boats, electronics, jewelry, or other products), career and employment data, relationship information (e.g., data from a dating website or database), data from a social networking site or any other available category of data.

Next, the client 100 determines overlaps between the received data 704. For example, the system determines if sets of data comprise any overlap. For example, in one embodiment, the data may be associated with patients. In such an embodiment, one set of data comprises patients that are under 65 and another set of data may comprise patients with a heart condition. An overlap occurs when patients under age 65 also have a heart condition identified in the second set of data. In some embodiments, the overlaps may be determined by another system, for example, application server 200, web server 300, database 400, or another computer or server. In such an embodiment, the client 100 further receives data associated with the overlap.

Then client 100 displays the data 706. In one embodiment, the client may display the data in a Venn bar format, as described above. For example, in the embodiment described above, the client 100 may display a horizontal bar associated with the patients over age 65. And further, the client 100 may display a second horizontal bar associated with patients that have a heart condition. The client 100 may further display vertical bars within the horizontal bars, the vertical bars associated with the overlap between the two sets of data.

Next the client 100 determines if additional data was selected 708. For example, if the user requested additional data to be included in the Venn bar. If so, the process returns to step 702 to receive the additional data, and then proceeds through the remaining steps.

Illustrative Embodiments of Manipulation of Multiple Selections Against a Population of Elements

FIG. 8 is a diagram illustrating a patients editor 800 according to one embodiment. In some embodiments, a patients editor 800 comprises a means by which one or more users may enter information identifying optimal patient enrollment parameters. In some embodiments, such as the one illustrated in FIG. 8, a patients editor comprises sliders 802 which users configure to set patient inclusion and exclusion limits within data categories. The data categories may include any relevant data, such as one or more of: co-morbidities, concomitant medications, body mass index, age, gender, and ethnicity. In some embodiments, a patients editor comprises graphs, tables, and other visual representations of data 804 showing the number of patients included and excluded pursuant to user-defined criteria.

For example, in the embodiment illustrated in FIG. 8, a the patients editor further comprises a Venn Bar diagram 806 represent the exclusion and inclusion parameters and shows the number of included and excluded patients due to particular selection criteria. Users can manipulate the sliders to arrive at a desired number of potential patients. Further, the patient editor may present graphs, such as line and/or pie graphs of various facets, such as age and ethnicity 804. Further, the system may provide a bar graph of the patient population based on selected facet limits.

FIG. 9 is a diagram illustrating a patients editor according to one embodiment. Specifically, FIG. 9 depicts a portion of a Venn Bar diagram 900. In this illustrative embodiment, Venn fragment A represents age criteria, fragment B represents a history of cardiovascular disease, and fragment C represents the absence of opioid agonists. In some embodiments, upon selection of a fragment a popup window displays the number of patients represented by the fragment.

FIG. 10 is a screen shot of a patient population query editor view 1000 according to one embodiment. In particular, FIG. 10 illustrates the use of a Venn Bar for comparing the query represented by the element configuration displayed in query builder window A and the query represented by the element configuration displayed in query builder window B. The green segments in bars A and B and located in the column “A,B” represent a portion of the population that result from both queries. The blue segment in bar A located in the column “A” that is not in bar B represents a portion of the population that only results from query A. The grey segment in the row and column labeled “0” indicates the portion of the population that are not a result of either query.

Advantages of Systems and Methods for Manipulation of Multiple Selections Against a Population of Elements

Embodiments described herein may have a wide range of advantages. For example, a Venn bar may be useful to view representative medical data. For example, in one embodiment a user may design a Venn bar to include hundreds or thousands of data points associated with lifestyle, age, prescribed drugs, income, or any set of potential factors. Based on the overlaps in this data, which may easily be determined by looking at the Venn bar, the user or a computer system may be able to quickly determine correlations between complex, and otherwise seemingly unrelated sets of data. For example, by simply looking at the size of a data set that is excluded by a particular exclusion, a user may be able to quickly determine that that exclusion is removing more than the desired amount of data. This information may be used to redesign a test, or develop newer and better treatments.

Similarly, a user may use a Venn bar to generate more efficient searches. For example, a user searching for a home may determine that a specific inclusion or exclusion is greatly excluding the number of available homes. For example, homes under a certain price may not include a fireplace. A user may be able to quickly determine viewing various housing search criteria in a Venn bar.

GENERAL CONSIDERATIONS

The methods, systems, and devices discussed above are examples. Various configurations may omit, substitute, or add various procedures or components as appropriate. For instance, in alternative configurations, the methods may be performed in an order different from that described, and/or various stages may be added, omitted, and/or combined. Also, features described with respect to certain configurations may be combined in various other configurations. Different aspects and elements of the configurations may be combined in a similar manner. Also, technology evolves and, thus, many of the elements are examples and do not limit the scope of the disclosure or claims.

Specific details are given in the description to provide a thorough understanding of example configurations (including implementations). However, configurations may be practiced without these specific details. For example, well-known circuits, processes, algorithms, structures, and techniques have been shown without unnecessary detail in order to avoid obscuring the configurations. This description provides example configurations only, and does not limit the scope, applicability, or configurations of the claims. Rather, the preceding description of the configurations will provide those skilled in the art with an enabling description for implementing described techniques. Various changes may be made in the function and arrangement of elements without departing from the spirit or scope of the disclosure.

Also, configurations may be described as a process that is depicted as a flow diagram or block diagram. Although each may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be rearranged. A process may have additional steps not included in the figure. Furthermore, examples of the methods may be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware, or microcode, the program code or code segments to perform the necessary tasks may be stored in a non-transitory computer-readable medium such as a storage medium. Processors may perform the described tasks.

Having described several example configurations, various modifications, alternative constructions, and equivalents may be used without departing from the spirit of the disclosure. For example, the above elements may be components of a larger system, wherein other rules may take precedence over or otherwise modify the application of the disclosure. Also, a number of steps may be undertaken before, during, or after the above elements are considered. Accordingly, the above description does not bound the scope of the claims.

The use of “adapted to” or “configured to” herein is meant as open and inclusive language that does not foreclose devices adapted to or configured to perform additional tasks or steps. Additionally, the use of “based on” is meant to be open and inclusive, in that a process, step, calculation, or other action “based on” one or more recited conditions or values may, in practice, be based on additional conditions or values beyond those recited. Headings, lists, and numbering included herein are for ease of explanation only and are not meant to be limiting.

While the present subject matter has been described in detail with respect to specific embodiments thereof, it will be appreciated that those skilled in the art, upon attaining an understanding of the foregoing may readily produce alterations to, variations of, and equivalents to such embodiments. Accordingly, it should be understood that the present disclosure has been presented for purposes of example rather than limitation, and does not preclude inclusion of such modifications, variations and/or additions to the present subject matter as would be readily apparent to one of ordinary skill in the art. 

What is claimed:
 1. A method for manipulating selections against a population of elements, the method comprising: receiving a plurality of data sets; determining one or more overlaps, each overlap comprising a common region between at least two data sets in the plurality of data sets; displaying a plurality of bars, each bar corresponding to a data set from the plurality of data sets; and for each of the one or more overlaps, displaying one or more elements in at least one of the plurality of bars, each element corresponding to a size of the common region between the at least two data sets.
 2. The method of claim 1, wherein the one or more elements comprises a color coding.
 3. The method of claim 1, wherein the one or more elements comprises segmenting the one or more bars.
 4. The method of claim 1, wherein the one or more elements comprises a textual identification of the overlaps.
 5. The method of claim 1, wherein the plurality of data sets comprise data associated with patient information
 6. The method of claim 5, wherein the patient information comprises one or more of: age, sex, race, prescription information, past disease data, lifestyle data, residence data, employment data, insurance data, or family data.
 7. The method of claim 1, wherein the plurality of data sets comprise data associated with one or more of: shopping data, career and employment data, relationship information, or data from a social networking site.
 8. The method of claim 1, wherein one or more of the plurality of data sets comprise an inclusion.
 9. The method of claim 1, wherein one or more of the plurality of data sets comprise an exclusion.
 10. A non-transitory computer readable medium comprising program code, which when executed by a processor is configured to cause the processor to: receive a plurality of data sets; determine one or more overlaps, each overlap comprising a common region between at least two data sets in the plurality of data sets; display a plurality of bars, each bar corresponding to a data set from the plurality of data sets; and for each of the one or more overlaps, display one or more elements in at least one of the plurality of bars, each element corresponding to a size of the common region between the at least two data sets.
 11. The computer readable medium of claim 10, wherein the one or more elements comprises a color coding.
 12. The computer readable medium of claim 10, wherein the one or more elements comprise segmenting the one or more bars.
 13. The computer readable medium of claim 10, wherein the one or more elements comprises a textual identification of the overlaps.
 14. The computer readable medium of claim 10, wherein the plurality of data sets comprise data associated with patient information
 15. The computer readable medium of claim 14, wherein the patient information comprises one or more of: age, sex, race, prescription information, past disease data, lifestyle data, residence data, employment data, insurance data, or family data.
 16. The computer readable medium of claim 10, wherein the plurality of data sets comprise data associated with one or more of: shopping data, career and employment data, relationship information, or data from a social networking site.
 17. The computer readable medium of claim 10, wherein one or more of the plurality of data sets comprise an inclusion.
 18. The computer readable medium of claim 10, wherein one or more of the plurality of data sets comprise an exclusion.
 19. A system for manipulating selections against a population of elements, the method comprising: an interface configured to receive a plurality of data sets; a display configured to output an image to a user; a processor coupled to the interface and the display, the processor configured to: determine one or more overlaps, each overlap comprising a common region between at least two data sets in the plurality of data sets; transmit a display signal to the display, the display signal configured to display a plurality of bars, each bar corresponding to a data set from the plurality of data sets; and for each of the one or more overlaps, display one or more elements in at least one of the plurality of bars, each element corresponding to a size of the common region between the at least two data sets. 